// /pages/home/pages/my/product-list/index.js
const request = require('../../../../../utils/request')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cart_id: '',
    goods_list: [],
    page: 1,
    location:{}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      cate_id: options.id
    })
    if (this.data.cate_id) {
      this.getGoods_list()
    } else {
      this.getLinjuList()
    }

  
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  // 根据分类传调用商品列表
  getGoods_list() {
    let location_id = wx.getStorageSync('localXiaoqu') ? wx.getStorageSync('localXiaoqu').id:''
    let _this = this
    let isLastPage = false
    request._post('/api?method=merchants.goodsList', {
      page: this.data.page,
      cate_id: this.data.cate_id,
      xiaoqu:location_id
    }).then(res => {
      
      if (res.data && res.data.length == 0) {
        isLastPage = true
      } else {
        isLastPage = false
      }
      _this.setData({
        goods_list: _this.data.goods_list.concat(res.data),
        isLastPage
      })
    })
  },
  getLinjuList() {
    // 获取首页信息
    let _this = this
    let location = wx.getStorageSync('localXiaoqu') ? wx.getStorageSync('localXiaoqu') : ''
    // if (!location) {
    //   return
    // }
    // (location)
    let lng =  location.longitude || ''
    let lat =location.latitude || ''
    request._post('/api?method=merchants.merchants', {
      lat,
      lng,
      xiaoqu:location.id
    }).then(res => {
      let list = res.data.goods
      list.forEach(function (obj, index) {
        obj.addSwitch = false
        if (obj.cart_num) {
          obj.addSwitch = true
        }
      })
      _this.setData({
        goods_list: list
      })
    })
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },
  // 商品详情
  toDetail(e) {
    let item = e.currentTarget.dataset.item
    let id = item.id ? item.id : item.goods_id
    wx.navigateTo({
      url: '/pages/home/pages/my/product-details/product-details?id=' + id,
    })
  },

  
	add(e) {
		let goods_list = this.data.goods_list
    let item = e.detail.item ? e.detail.item : e.currentTarget.dataset.item
    let index = e.detail.index ? e.detail.index : e.currentTarget.dataset.index || 0
		if (!item.addSwitch) {
			item.addSwitch = true
			item.cart_num++
		}
		this.addCartApi(item)
    // goods_list[index] = item
    if(goods_list[index].product_id == item.id){
      goods_list[index].cart_num = item.cart_num
      goods_list[index].addSwitch = item.addSwitch
    }
		this.setData({
			goods_list
		})
	},
	// 购物车加减
	addCartReduce(e) {
    let type = e.detail.type ? e.detail.type : e.currentTarget.dataset.type //1 减 2 加
    let item = e.detail.item ? e.detail.item : e.currentTarget.dataset.item
    let index = e.detail.index ? e.detail.index : e.currentTarget.dataset.index || 0
		let goods_list = this.data.goods_list
		if (type == 1) {
			if (item.cart_num == 0) {
				// getApp().toast('商品不能再减了~')
				return
			}
			item.cart_num--
		} else {
			item.cart_num++
		}

		this.addCartApi(item, index)
		goods_list[index] = Object.assign(goods_list[index], item)
		this.setData({
			goods_list
		})

	},
	addCartApi(item, index) {
    let goods_list = this.data.goods_list
		request._post('/api?method=cart.add', {
			product_id: item.product_id || item.id,
			nums: item.cart_num,
			num_type: 2,
		},'noload').then(res => {
			if(item.cart_num == 0){
        goods_list[index].addSwitch = false
        this.setData({
          [`goods_list[${index}]`]: goods_list[index]
        })
      }
		}).catch(res => {
			// 库存不足情况--
			goods_list[index].cart_num--
			this.setData({
				[`goods_list[${index}]`]: goods_list[index]
			})

		})
	},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})